31 research outputs found
Application-Controlled Paging for a Shared Cache
AMS subject classi cations. 68N25, 68P01, 68P15, 68Q25, 68W20
PII. S0097539797324278We propose a provably efficient application-controlled global strategy for organizing
a cache of size k shared among P application processes. Each application has access to information about its own future page requests, and by using that local information along with randomization in the context of a global caching algorithm, we are able to break through the conventional Hk ln k lower bound on the competitive ratio for the caching problem. If the P application processes always make good cache replacement decisions, our online application-controlled caching algorithm attains a competitive ratio of 2HP¡1 + 2 2 lnP. Typically, P is much smaller than k, perhaps by several orders of magnitude. Our competitive ratio improves upon the 2P + 2 competitive ratio achieved by the deterministic application-controlled strategy of Cao, Felten, and Li. We show that no online
application-controlled algorithm can have a competitive ratio better than minfHP¡1;Hkg, even if
each application process has perfect knowledge of its individual page request sequence. Our results
are with respect to a worst-case interleaving of the individual page request sequences of the P
application processes.
We introduce a notion of fairness in the more realistic situation when application processes do
not always make good cache replacement decisions. We show that our algorithm ensures that no application process needs to evict one of its cached pages to service some page fault caused by a mistake of some other application. Our algorithm not only is fair but remains efficient; the global paging performance can be bounded in terms of the number of mistakes that application processes make
Application-Controlled Paging for a Shared Cache
This is the published version. Copyright © 2000 Society for Industrial and Applied MathematicsWe propose a provably efficient application-controlled global strategy for organizing a cache of size k shared among P application processes. Each application has access to information about its own future page requests, and by using that local information along with randomization in the context of a global caching algorithm, we are able to break through the conventional lower bound on the competitive ratio for the caching problem. If the P application processes always make good cache replacement decisions, our online application-controlled caching algorithm attains a competitive ratio of . Typically, P is much smaller than k, perhaps by several orders of magnitude. Our competitive ratio improves upon the 2P+2 competitive ratio achieved by the deterministic application-controlled strategy of Cao, Felten, and Li. We show that no online application-controlled algorithm can have a competitive ratio better than min{HP-1 ,Hk}, even if each application process has perfect knowledge of its individual page request sequence. Our results are with respect to a worst-case interleaving of the individual page request sequences of the P application processes.
We introduce a notion of fairness in the more realistic situation when application processes do not always make good cache replacement decisions. We show that our algorithm ensures that no application process needs to evict one of its cached pages to service some page fault caused by a mistake of some other application. Our algorithm not only is fair but remains efficient; the global paging performance can be bounded in terms of the number of mistakes that application processes make
Competitive Parallel Disk Prefetching and Buffer Management
We provide a competitive analysis framework for online prefetching and buffer management
algorithms in parallel I/O systems, using a read-once model of block references. This has
widespread applicability to key I/O-bound applications such as external merging and concurrent
playback of multiple video streams. Two realistic lookahead models, global lookahead and local
lookahead, are defined. Algorithms NOM and GREED based on these two forms of lookahead
are analyzed for shared buffer and distributed buffer configurations, both of which occur frequently
in existing systems. An important aspect of our work is that we show how to implement
both the models of lookahead in practice using the simple techniques of forecasting and flushing.
Given a
-disk parallel I/O system and a globally shared I/O buffer that can hold upto
disk
blocks, we derive a lower bound of
on the competitive ratio of any deterministic online
prefetching algorithm with
lookahead. NOM is shown to match the lower bound using
global
-block lookahead. In contrast, using only local lookahead results in an
competitive
ratio. When the buffer is distributed into
portions of
blocks each, the algorithm
GREED based on local lookahead is shown to be optimal, and NOM is within a constant factor
of optimal. Thus we provide a theoretical basis for the intuition that global lookahead is more
valuable for prefetching in the case of a shared buffer configuration whereas it is enough to provide
local lookahead in case of the distributed configuration. Finally, we analyze the performance
of these algorithms for reference strings generated by a uniformly-random stochastic process and
we show that they achieve the minimal expected number of I/Os. These results also give bounds
on the worst-case expected performance of algorithms which employ randomization in the data
layout
A Simple and Efficient Parallel Disk Mergesort
The original publication is available at www.springerlink.comExternal sorting|the process of sorting a le that is too large to t into the computer's internal
memory and must be stored externally on disks|is a fundamental subroutine in database sys-
tems [Gra93, IBM90]. Of prime importance are techniques that use multiple disks in parallel in
order to speed up the performance of external sorting. The simple randomized merging (SRM)
mergesort algorithm proposed by Barve et al. [BGV97] is the rst parallel disk sorting algorithm
that requires a provably optimal number of passes and that is fast in practice. Knuth [Knu98,
Section 5.4.9] recently identi ed SRM (which he calls \randomized striping") as the method of
choice for sorting with parallel disks.
In this paper we present an eÆcient implementation of SRM, based upon novel and elegant data
structures. We give a new implementation for SRM's lookahead forecasting technique for parallel
prefetching and its forecast and
ush technique for bu er management. Our techniques amount to a
signi cant improvement in the way SRM carries out the parallel, independent disk accesses necessary
to read blocks of input runs eÆciently during external merging. Our implementation is based on
synchronous parallel I/O primitives provided by the TPIE programming environment [TPI99];
whenever our program issues an I/O read (write) operation, one block of data is synchronously
read from (written to) each disk in parallel.
We compare the performance of SRM over a wide range of input sizes with that of disk-striped
mergesort (DSM), which is widely used in practice. DSM consists of a standard mergesort in
conjunction with striped I/O for parallel disk access. SRM merges together signi cantly more
runs at a time compared with DSM, and thus it requires fewer merge passes. We demonstrate
in practical scenarios that even though the streaming speeds for merging with DSM are a little
higher than those for SRM (since DSM merges fewer runs at a time), sorting using SRM is often
signi cantly faster than with DSM (since SRM requires fewer passes).
The techniques in this paper can be generalized to meet the load-balancing requirements of
other applications using parallel disks, including distribution sort and multiway partitioning of a
le into several other les. Since both parallel disk merging and multimedia processing deal with
streams that get \consumed" at nonuniform and partially predictable rates, our techniques for
lookahead based upon forecasting data may have relevance in video server applications
External Memory Algorithms with Dynamically Changing Memory Allocations.
We consider the problem of devising external memory algorithms whose memory allocations can change dynamically and unpredictably at run-time. Th
A Simple and Efficient Parallel Disk Mergesort
External sorting---the process of sorting a massive data set that is too large to fit into the computer's internal memory and must be stored externally on disks---is a fundamental primitive in database systems and serves in addition as a core subroutine in many other database operations [Gra93, IBM90]. Technology trends indicate that developing techniques that effectively use multiple disks in parallel in order to speed up the performance of external sorting is of prime importance. The simple randomized merging (SRM ) mergesort algorithm proposed by Barve et al. [BGV97] is the first parallel disk sorting algorithm that requires a provably optimal number of passes and that is fast in practice. Knuth [Knu98, Section 5.4.9] recently identified SRM (which he calls "randomized striping") as the method of choice for sorting with parallel disks
Simple Randomized Mergesort on Parallel Disks
We consider the problem of sorting a file of N records on the D-disk model of parallel I/O in which there are two sources of parallelism. Records are transferred to and from disk concurrently in blocks of B contiguous records. In each I/O operation, up to one block can be transferred to or from each of the D disks in parallel. We propose a simple, efficient, randomized mergesort algorithm called SRM that uses a forecast-and-flush approach to overcome the inherent difficulties of simple merging on parallel disks. SRM exhibits a limited use of randomization and also has a useful deterministic version. Generalizing the technique of forecasting, our algorithm is able to read in, at any time, the "right" block from any disk, and using the technique of flushing, our algorithm evicts, without any I/O overhead, just the "right" blocks from memory to make space for new ones to be read in. The disk layout of SRM is such that it enjoys perfect write parallelism, avoiding fundamental inefficiencie..
Simple Randomized Mergesort on Parallel Disks
We consider the problem of sorting a file of N records on the D-disk model of parallel I/O [VS94] in which there are two sources of parallelism. Records are transferred to and from disk concurrently in blocks of B contiguous records. In each I/O operation, up to one block can be transferred to or from each of the D disks in parallel. We propose a simple, efficient, randomized mergesort algorithm called SRM that uses a forecast-and-flush approach to overcome the inherent difficulties of simple merging on parallel disks. SRM exhibits a limited use of randomization and also has a useful deterministic version. Generalizing the technique of forecasting [Knu73], our algorithm is able to read in, at any time, the "right" block from any disk, and using the technique of flushing, our algorithm evicts, without any I/O overhead, just the "right" blocks from memory to make space for new ones to be read in. The disk layout of SRM is such that it enjoys perfect write parallelism, avoiding fundamenta..